1. Field of the Invention
The present invention relates generally to an apparatus and method for controlling a buffer in a mobile communication system, and in particular, to an apparatus and method for controlling a buffer in a mobile communication system using a Hybrid Automatic Repeat Request (hereinafter referred to as “HARQ”) scheme.
2. Description of the Related Art
Mobile communication systems have been developed to provide a high-quality call service to moving users. With the development of mobile communication systems, research is being conducted on a method for transmitting increasing amounts of data to users. In addition, mobile communication systems have already been switched from an analog system to a digital system. Using the digital system, the mobile communication systems can now transmit increased amounts of data to users at higher speeds.
Generally, in digital mobile communication systems where a variation in channel condition is significant and different types of service traffic channels coexist with each other, a Hybrid Automatic Repeat Request (hereinafter referred to as “HARQ”) scheme is used to meet demand for high-speed data transmission, i.e., to increase transmission throughput. Particularly, as commercialization of high-speed data transmission service is realized, analysis and research are actively performed for efficiently applying a HARQ scheme using error correction codes with a variable code rate, rather than a HARQ scheme using existing error correction codes with a fixed code rate. For a channel structure for high-speed transmission, a method of using high-level modulation such as 8-ary phase shift keying (8-PSK) and 16-ary quadrature amplitude modulation (16-QAM) beside the general binary phase shift keying (BPSK) or quadrature phase shift keying (QPSK), as a modulation scheme, is also taken into consideration.
Currently, a Code Division Multiple Access 2000 (CDMA2000) First Evolution Data and Voice (1x EV-DV) system, which is a new transmission standard of a synchronous Third Generation Partnership Project (3GPP2) CDMA system, has adopted a coding scheme using quasi-complementary turbo codes (QCTC) as its standard. The quasi-complementary turbo codes provide a variable code rate to a coding scheme for a HARQ scheme over a high-speed data connection and provide improvement in soft combining performance using HARQ. In the 1x EV-DV system, packet data transmission/reception is performed by an HARQ or fast HARQ operation of a physical layer. This will be described in detail with reference to FIGS. 1 and 2.
FIG. 1 is a block diagram illustrating a relationship between an upper layer and a physical layer for ARQ processing according to the prior art. Referring to FIG. 1, a physical layer 110 decodes data received over a radio channel and provides decoded frame data. The physical layer 110 delivers the decoded frame data to a MAC layer 120 which is an upper layer. The MAC layer 120 determines whether the decoded frame data received from the physical layer 110 has a Protocol Data Unit (MuxPDU) error. When an error occurs, the MAC layer 120 retransmits the defective data. However, when no error occurs, the MAC layer 120 transmits a new frame. When processing is performed in the MAC layer 120, since data decoded in the physical layer must be delivered to the upper layer to be processed, ARQ processing speed is undesirably decreased. In addition, since high-speed data process must be performed, a load on the MAC layer 120 is increased. Hence, there have been proposed methods in which an operation performed in the upper layer is performed in the physical layer. Such methods provide a structure in which an operation in the physical layer, i.e., hardware, is performed in the same way as an operation in software. In this context, if part of the operation of FIG. 1 is applied to the physical layer, a structure for processing part of an ARQ operation in the physical layer is provided as illustrated in FIG. 2.
FIG. 2 is a block diagram illustrating a relationship between an upper layer and a physical layer for improved fast (physical) HARQ processing. With reference to FIG. 2, a description will now be made of a relationship between an upper layer and a physical layer for improved fast HARQ processing. A structure of FIG. 2 is realized when the structure of FIG. 1 is performed in the physical layer. It should be noted that such a structure has never been proposed up to now. In other words, it should be noted that the concept of FIG. 2 is expected by applying currently proposed methods, this has never been actually implemented, and no discussion has been made on the operations that will be described in the detailed description section below.
In FIG. 2, part of an ARQ operation that has been performed in a MAC layer 230 is performed in a physical layer or its intermediate layer, for fast ARQ response and processing. That is, in this scheme, a physical layer 200 has a basic physical layer 210 performing the same operation as that of FIG. 1, and an HARQ controller 220. The HARQ controller 220 performs part of the operation that was performed in the conventional MAC layer. Therefore, the HARQ controller 220 is included in the physical layer in structure, but performs part of an operation of the MAC layer 230. Because of such characteristics, the HARQ controller 220 is often classified as a MAC layer. However, since the physical layer determines data retransmission, a processing time for the same data is shortened.
In addition, NAK transmission in the upper layer cannot perform soft combining for the same data, because the physical layer can maintain a soft combined value for each symbol. However, since data symbols delivered from the physical layer to the MAC layer are all expressed with a binary value (0 or 1), although a symbol is repeated by retransmission, there is no way to soft combine the repeated symbol. The only method is a majority voting method for calculating the number of 0s and 1s for symbols having a binary value, and comparing the number of 0s with the number of 1s to decide a majority symbol. However, this method also cannot be used in the upper layer because of its required calculations. On the contrary, NAK transmission in the physical layer enables soft combining of code symbols for the same encoder packet, contributing to efficient utilization of channel resources. Therefore, it is preferable to locate the HARQ controller 220 under a multiplexing sublayer 230 of the MAC layer. That is, it is preferable for the MAC layer to perform an operation of the physical layer.
This structure has a fast processing time compared with a conventional ARQ control method operating based on a radio link protocol (RLP). This will now be compared with the existing method. In the conventional method of FIG. 1, a NAK signal is received from one packet transmission, and a round trip delay of a minimum of about 200 msec occurs up to a time when a retransmission packet is transmitted due to the NAK signal. On the contrary, in the method of FIG. 2, HARQ generates a very short round trip delay of a minimum of about several milliseconds. Therefore, it has a very good structure for implementing adaptive modulation and coding (AMC).
In order to actually operate HARQ with the structure of the upper layer and the physical layer of FIGS. 1 and 2, a retransmission protocol of a transmitter for a retransmission request (i.e., NAK transmitted from a receiver) is required. For this, the 3GPP2 CDMA2000 1x system uses Asynchronous and Adaptive Increment Redundancy (AAIR), and this will be described below.
A base station asynchronously performs packet transmission to a corresponding mobile station according to the quality of a forward channel. At this point, a modulation scheme and a code rate of the transmission packet are adaptively applied according to a channel condition. In addition, a packet transmission failure during initial transmission is retransmitted, and during retransmission, a code symbol pattern that is different from that at the initial transmission can be transmitted. Such an AAIR retransmission scheme increases a signal-to-noise ratio (SNR) of packet data due to an increase in the number of retransmissions, and increases a coding gain due to a decrease in a code rate, thereby improving transmission/reception performance of packet data.
A channel used for transmission of forward packet data in the 1x EV-DV system includes a forward packet data channel (F-PDCH) for payload traffic and a forward packet data control channel (F-PDCCH) for controlling the F-PDCH. F-PDCH is a channel for transmitting an encoder packet (EP) which is a transmission data block, and a maximum of up to 2 channels are used to simultaneously transmit their encoder packets to 2 mobile stations by time division multiplexing (TDM)/code division multiplexing (CDM). An encoder packet is encoded by a turbo encoder, and then divided into 4 subpackets having different Increment Redundancy (IR) patterns by OCTC symbol selection. The subpacket is a transmission unit for initial transmission and retransmission, and at each transmission, an IR pattern of a subpacket is identified by a subpacket identifier (SPID). A modulation scheme (QPSK, 8PSK or 16QAM) and a transmission slot length (1, 2 or 4 slots) of the subpacket are determined according to forward channel quality information transmitted from a mobile station and resources (the number of Walsh codes and power assignable to F-PDCH) of a base station.
Information related to demodulation and decoding of F-PDCH is multiplexed with F-PDCH through other orthogonal channels for the same slot period, and then transmitted over the F-PDCCH which is a control channel. Information included in the F-PDCCH is very important for performing a physical layer's HARQ operation by a mobile station, and requires the following:
1) fragmented Walsh code information available for F-PDCH every several tens to several hundreds milliseconds;
2) MAC_ID: MAC_ID of a mobile station (MS) to which F-PDCH is assigned;
3) ACID: ID for identifying 4 ARQ channels (ARQ channel ID);
4) SPID: ID for identifying an IR pattern of a subpacket;
5) EP_NEW: information for distinguishing two consecutive encoder packets in the same ARQ channel;
6) EP_SIZE: a bit size of an encoder packet; and
7) LWCI (Last Walsh Code Index): information on a Walsh code used for F-PDCH.
Meanwhile, packet data reception in a mobile station is performed by decoding the F-PDCCH. A mobile station first decodes F-PDCCH to determine whether its own packet is being transmitted, and if it is determined that the transmitted packet is its own packet, the mobile station performs demodulation and decoding on F-PDCH. If a currently received subpacket is a subpacket that was retransmitted for a previously received encoder packet, the mobile station performs decoding by code-combining the currently received subpacket with code symbols of an encoder packet that was previously received and stored therein. If the decoding is successful, the mobile station transmits an ACK signal over a reverse ACK/NAK transmission channel (R-ACKCH), allowing the base station to transmit the next encoder packet. If the decoding is not successful, the mobile station transmits a NAK signal, requesting the base station to retransmit the same encoder packet.
A unit for which a physical layer's HARQ operation is performed on one encoder packet is called an “ARQ channel.” In the CDMA2000 1x EV-DV system, a maximum of 4 ARQ channels can simultaneously operate, and these are called “N=4 fast HARQ channels.”
In the 1x EV-DV standard, it is provided that ACK/NAK_DELAY necessary for performing by a mobile station a packet reception operation and transmitting ACK/NAK and the number of simultaneously available ARQ channels should be provided to a base station by the mobile station, and this becomes an implementation issue for a mobile station. Therefore, a possible ACK/NAK_DELAY supported by the mobile station is 1 slot (=1.25 msec) or 2 slots (2.5 msec), and the possible number of ARQ channels is 2, 3 or 4. With reference to FIGS. 3 and 4, a description will now be made of an operation depending on ACK/NAK_DELAY and the number of ARQ channels.
FIG. 3 is a timing diagram between a base station and a mobile station for ACK/NAK_DELAY=1 slot in HARQ in a mobile communication system, and FIG. 4 is a timing diagram between a base station and a mobile station for ACK/NAK_DELAY=2 slots in HARQ in a mobile communication system.
It will be assumed in FIGS. 3 and 4 that a forward packet data channel (F-PDCH) is assigned to a mobile station A. In addition, for the convenience of explanation, indexes are sequentially assigned to time slots of both a base station (BS) and a mobile station (MS) from 0th time slot beginning at a particular time. Further, in FIGS. 3 and 4, A(x,y) has the following meaning. Hatched parts refers to data to be transmitted to the mobile station A. In addition, ‘x’ refers to an ARQ channel, and ‘y’ refers to an index for distinguishing an IR pattern for the same encoder packet. Based on this, a description will now be made of FIG. 3 in which ACK/NAK_DELAY is 1 slot.
Referring to FIG. 3, data from a base station is transmitted to a mobile station A at a 0th slot. Then, the mobile station A receives the packet data at the same slot. In FIGS. 3 and 4, the base station and the mobile station have different slot start points due to transmission delay occurring between the mobile station and the base station on the basis of an absolute time. At this point, the base station transmits packet data and a packet data control signal over a forward packet data channel (F-PDCH) and a forward packet data control channel (F-PDCCH), respectively. Then, the mobile station A determines whether the data has an error, for a one-slot processing time, and thereafter, transmits ACK or NAK to the base station. The “processing time” refers to a time required for performing demodulation and decoding on received packet data for one slot, and transmitting the result at the next slot over a reverse channel (R-ACKCH). For example, in FIG. 3, NAK is transmitted. The base station then receives the NAK at a 3rd slot, and schedules retransmission of the defective data at a 4th slot. Thereafter, the base station transmits data of a different pattern for the same encoder packet according to the scheduling result.
Next, a description will be made of FIG. 4 in which ACK/NAK_DELAY is 2 slots. It will be assumed in FIG. 4 that an error has occurred in a first data packet among the data packets transmitted from a base station to a mobile station A, and the description will be focused on the first data packet. Since the delay time is 2 slots, the base station continuously transmits packet data to the mobile station A at a 0th slot, a 1st slot and a 2nd slot. The mobile station then checks an error of the data transmitted at the 0th slot for a period of the 1st to the 2nd slots, checks an error of the data transmitted at the 1st slot for a period of the 2nd to 3rd slots, and checks an error of the data transmitted at the 2nd slot for a period of the 3rd to 4th slots. ACK/NAK for the data received at the 0th slot is transmitted at the 3rd slot, ACK/NAK for the data received at the 1st slot is transmitted at the 4th slot, and ACK/NAK for the data received at the 2nd slot is transmitted at a 5th slot. If the base station receives, at the 4th slot, NAK for the packet data transmitted at the 0th slot, the base station performs, at the next slot, retransmission on an encoder packet transmitted at the 0th slot. The retransmitted packet data is the same packet as the previously transmitted packet but has a different IR pattern.
As can be understood from FIGS. 3 and 4, the mobile station performs synchronous ACK/NAK transmission in which the mobile station must transmit ACK or NAK for a received packet after a lapse of 1 slot or 2 slots. The base station performs asynchronous ACK/NAK transmission in which the base station can transmit a packet at any slot after receiving ACK/NAK for a packet previously transmitted by the mobile station for the same ARQ channel.
In addition, FIGS. 3 and 4 illustrate a 1-channel ARQ operation and a 4-channel ARQ operation, respectively. In the 1-channel ARQ operation of FIG. 3, data transmission to one mobile station uses only a part of base station resources, decreasing a packet data rate of a corresponding mobile station. In contrast, in the 4-channel ARQ operation of FIG. 4, one mobile station can use the entire resources of the base station, so a corresponding mobile station can obtain a maximum packet data rate.
As illustrated in FIG. 4, upon receiving packets A(0,0), A(1,1) and A(2,0), a receiver soft-combines these packets before decoding or decodes the received packets without soft combining. The receiver performs cyclic redundancy check (CRC) to determine whether an error has occurred in the decoded data, and transmits ACK/NAK over a reverse channel according to the CRC result. Such an operation can be performed every 1.25 msec.
However, in a 1x EV-DV system for a high-speed data service, an architecture between a host (or CPU) and an output buffer for decoding a received packet and transmitting the decoded packet to the host can also become an important design factor. This is because in the 1x EV-DV high-speed data service system, a transmission time of a packet, a kind of a transmission frame, is as short as about 1.25 msec, whereas the number of bits included in one packet is greatly increased to several thousands of bits. This means a large increase in a channel decoding time required for decoding one packet. Therefore, an abrupt decrease in a time assignable for data transmission out of the processing time assigned to the receiver occurs. In addition, due to inconsistency of orders caused by retransmission, even an error-free transmission packet received successfully can lack continuity because of discrepancy in a decoding time. That is, received packets may be discontinuous, losing their continuity.
Generally, a current medium- and low-speed data system uses such decoders as a turbo decoder or a Viterbi decoder as a channel decoder. In such a system, a single output buffer or a double output buffer has been used in order to transmit data from a decoder to a host. However, as high-speed data service for the 1x EV-DV system becomes popular, the existing output buffer's structure has the following problems. If the following problems cannot be solved, a host having the existing processing capability must assign most of its processing capability for data transmission. Therefore, the host cannot perform processing functions of other adjacent blocks and its upper protocol. In addition, if a very fast host is adopted to solve such problems, unnecessary power consumption may occur for other functions except the data transmission. A detailed description will now be made of the problems which may occur when a high-speed data service is processed with the current system.
(1) Currently, in most systems, when a channel decoder transmits data to a host, data transmission from the channel decoder to the host is controlled by the channel decoder. Therefore, the channel decoder is designed to send the host an interrupt for data transmission upon completion of decoding. In the case of a low-speed data processing system, a buffer storing data has a single buffer structure. In addition, the system assigns part of the entire processing time given for decoding as a time for data transmission, and completes transmission of all data during the assigned time period. However, an increase in a data rate causes an increase in a decoding time. Therefore, such a single buffer structure transmitting data using part of the entire processing time given for decoding can no longer be used.
(2) In a low-speed system or a system requiring faster data processing than the low-speed system, a double buffer structure is used in order to solve the above problems. The double buffer structure provides a method for extending a decoding time and a data transferring time by alternately designating two buffers to read/write modes. In this method, an interval at which an interrupt for data transmission occurs is relatively long. Thus, from the viewpoint of the host, this method is efficient when a large volume of data is transmitted by one interrupt. However, in the 1x EV-DV system supporting a high-speed data service, most decoding frames have a very short time, whereas the number of bits included in a corresponding decoding frame is very highly increased. Therefore, although such a method is used, excessive data transmission burden is imposed on the host due to frequent occurrence of the interrupt, so the host may not perform its unique tasks.
(3) In addition, the 1x EV-DV system supporting a high-speed data service uses a variable processing time mode by including a channel decoder in order to reduce a processing burden on a receiver. The 1x EV-DV system identifies the variable processing time mode using ACK_DELAY, and a mobile station can be assigned a processing time of 1 slot (1.25 msec) or 2 slots (2.5 msec) according to a value of ACK_DELAY. Under this condition, it is efficient that an output buffer structure of the receiver has a structure that adaptively operates according to a processing time mode. However, since the existing systems use only one fixed processing time mode, they cannot be adaptively used according to ACK_DELAY.
(4) Furthermore, most of the current systems use a channel supporting a circuit mode service. Therefore, the current system does not support physical layer HARQ, and its receiver does not use soft combining due to retransmission. Thus, an identifier (ID) of a decoded frame decoded by a channel decoder is not required. However, the 1x EV-DV high-speed data service system supports a pure packet mode. Therefore, a reception time and a decoding-completed time of each packet may be in discord with transmission order of the corresponding packet. Thus, there is a demand for an apparatus for solving such problems.